package com.zzyl.vo;

import com.zzyl.base.BaseVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
public class BillVo extends BaseVo {
    @ApiModelProperty(value = "账单编号", example = "20230101001", required = true)
    private String billNo;

    @ApiModelProperty(value = "交易系统订单号", example = "123456789", required = false)
    private Long tradingOrderNo;

    @ApiModelProperty(value = "账单类型（0：月度账单，1：服务账单）", example = "0", required = true)
    private Integer billType;

    @ApiModelProperty(value = "账单月份", example = "2023-01", required = false)
    private String billMonth;

    @ApiModelProperty(value = "老人ID", example = "1001", required = true)
    private Long elderId;

    @ApiModelProperty(value = "账单金额（元）", example = "1000.00", required = true)
    private BigDecimal billAmount;

    @ApiModelProperty(value = "应付金额（元）", example = "1000.00", required = true)
    private BigDecimal payableAmount;

    @ApiModelProperty(value = "预付款支付金额", example = "0.00", required = false)
    private BigDecimal prepaidAmount;

    @ApiModelProperty(value = "押金金额", example = "2000.00", required = false)
    private BigDecimal depositAmount;

    @ApiModelProperty(value = "本期应付", example = "1000.00", required = true)
    private BigDecimal currentCost;

    @ApiModelProperty(value = "支付截止时间", example = "2023-02-01 12:00:00", required = true)
    private LocalDateTime paymentDeadline;

    @ApiModelProperty(value = "账单状态（0：未支付，1：已支付，2：已关闭）", example = "0", required = true)
    private Integer transactionStatus;

    @ApiModelProperty(value = "账单开始时间", example = "2023-01-01 00:00:00", required = false)
    private LocalDateTime billStartTime;

    @ApiModelProperty(value = "账单结束时间", example = "2023-01-31 23:59:59", required = false)
    private LocalDateTime billEndTime;

    @ApiModelProperty(value = "共计天数（天）", example = "31", required = false)
    private Integer totalDays;


    @ApiModelProperty(value = "护理等级名称", example = "一级护理", required = false)
    private String lname;

    @ApiModelProperty(value = "房间类型名称", example = "单人间", required = false)
    private String typeName;



    private ElderVo elderVo;
}
